package com.mathassistant.client.service;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.mathassistant.shared.ExerciseDTO;
import com.mathassistant.shared.TopicDTO;

public interface ExerciseServiceAsync {

	void createExercise(ExerciseDTO exercise, TopicDTO topic,
			AsyncCallback<Void> callback);

	void updateExercise(ExerciseDTO exercise, AsyncCallback<Void> callback);

	void deleteExercise(ExerciseDTO exercise, AsyncCallback<Void> callback);

	void getCount(TopicDTO tp, AsyncCallback<Integer> callback);

	void getNextExercise(int iCurrEx, TopicDTO tp,
			AsyncCallback<ExerciseDTO> callback);

	void getExercise(int iCurrEx, TopicDTO tp,
			AsyncCallback<ArrayList<ExerciseDTO>> callback);

}
